[g]cc [flags] files -lsipp -lm [ libraries ]
The members of a Transf_mat should never be accessed directly, but rather through the abstract functions described in the FUNCTIONS section. See also geometric(3X).
Set the background color of the image.
Specify if backfacing polygons should be culled or not.
Turn shadow casting on or off and specify size of depth maps.
Push a vertex onto the internal vertex stack.
Push a vertex and it's texture coordinates onto the vertex stack.
Create a surface from the polygons on the polygon stack. The surface will be shaded by the internal shader, basic_shader(), using the parameters as values in a Surf_desc struct.
Create a surface from the polygons on the polygon stack. The surface will be shaded by shader using the surface description surf_desc.
Set surface to be shaded by the basic shader and use the other parameters as values in the Surf_desc struct.
Set the surface surface to be shaded with the shading function shader using the surface description surf_desc.
Delete an object, i.e. the memory used by obj and all its subobjects and surfaces are recursively freed.
Add the surface surf to the object obj.
Remove the surface surf from the object obj.
Add the subobject subobj to the object obj.
Remove the subobject subobj from the object obj.
Create a new instance of a previously defined object. The lists of surfaces and subobjects in obj are not copied, only a new reference with its own transformation matrix is created.
Copy recursively an object and its subobjects. The surfaces in the object tree are not copied, only new references to them are made.
Copy the entire tree for the object obj, including subobjects and all surfaces, polygons and vertices.
Return the transformation matrix currently stored in the object obj. If
matrix is not NULL, the transformation matrix will be copied to that
location and a pointer to it (identical to matrix) is returned. If
matrix is NULL a new matrix will be allocated, the transformation matrix
copied into it and a pointer to the new matrix is returned.
Set the transformation matrix of the object obj to matrix.
Set the transformation matrix of the object obj to the unit matrix.
Rotate the object obj the angle ang about the X axis. ang is expressed in radians.
Rotate the object obj the angle ang about the Y axis. ang is expressed in radians.
Rotate the object obj the angle ang about the Z axis. ang is expressed in radians.
Rotate the object obj the angle ang about the line given by the point point and the vector vec. ang is expressed in radians.
Scale the object obj with the scaling factors xscale, yscale and zscale in the main directions respectively.
Move (translate) the object obj dx, dy and dz in the three main directions, respectively.
Post multiply the matrix matrix into the transformation matrix of the object obj.
Create a new lightsource.The type specified in type should be either LIGHT_DIRECTION or LIGHT_POINT.
Create a new spotlight. type should be either SPOT_SHARP or SPOT_SOFT.
Release the memory used by a lightsource or a spotlight.
Specify a new position or direction to a lightsource.
Specify a new position for a spotlight.
Specify a new point that a spotlight is pointing at.
Specify a new opening angle for a spotlight.
Turn shadow casting on or off for a spotlight.
Change the color of the light emitted from a lightsource or a spotlight.
Turn a lightsource or a spotlight on or off.
Evaluate how much light from a lightsource or a spotlight that reaches a point and calculate a vector from the light to the light.
Create a new virtual camera.
Release the memory used by a virtual camera.
Define the position of a camera.
Define the point a camera is looking at.
Define the up vector of the camera.
Define the focal ratio of a camera.
Set all parameters of a camera in one call.
Render an image of the current scene into a file. mode should be one of PHONG, GOURAUD, FLAT or LINE.
Render the current scene as a field (half frame) into a file. mode should be one of PHONG, GOURAUD, FLAT or LINE and field should be either ODD or EVEN.
Render an image of the current scene into any device. mode should be one of PHONG, GOURAUD, FLAT or LINE.
Render the current scene as a field (half frame) into any device. mode should be one of PHONG, GOURAUD, FLAT or LINE and field should be either ODD or EVEN.
The basic shader function that is provided with the library.